FIG. 1 illustrates a piconet 2 which is an ad-hoc wireless network of Bluetooth devices 4 that can communicate with each other using radio packets. The piconet 2 has a hub and spoke topology and is controlled by a Master device 4A at the hub with radio links 6 forming the spokes. Up to seven slave devices 4B can be located on seven respective spokes. Only one device in the piconet 2 transmits at a time. Each Slave device 4B can only communicate with the Master device 4A and the Master device 4A can communicate with any of the Slaves 4B.
The radio links 6 are formed using low power radio frequency transmissions in the 2.4 GHz ISM band. The radio links 6 use fast frequency-hopping spread-spectrum (FHSS) technique. The frequency hops at 1600 hops/s in a pseudo-random fashion over 79 one MHz channels.
The communication channel used in the piconet 2 is a Time-Division Duplex radio channel. The channel is divided into a sequential series of slots of 625 μs duration. The Master 4A starts transmission in even numbered slots while the Slaves 4B transmit in odd numbered slots. A transmission is typically a single packet that occupies a single slot. However, in certain circumstances the packet may occupy 3 or 5 slots.
The frequency at which a packet is transmitted is determined by the piconet's frequency-hopping sequence and the phase within the sequence at the time of transmission. The piconet's frequency-hopping sequence is derived from the Bluetooth Device Address of the Master device 4A. The phase within the frequency-hopping sequence is determined by the Bluetooth Clock of the Master device 4A. The frequency hops every 625 μs i.e. every slot.
The radio packets transmitted within the piconet 2 use, as a preamble, an Access Code that is dependent upon the Bluetooth Device Address of the Master device 4A.
It will therefore be appreciated that for a connectable device 4C to join a piconet 2 it must first receive an indication of the Bluetooth Device Address of the Master device 4A and an indication of the Bluetooth Clock value of the Master Device 4A. The Bluetooth Clock value enables the connectable device 4C to synchronize its timing and frequency hopping to that of the piconet 2. The Bluetooth Address enables the connectable device, when it joins the piconet 2, to send packets with the correct Access Code, to use the correct frequency-hopping sequence for the piconet 2 and to detect the arrival of transmitted packets from the Master 4A and thereby maintain time and frequency synchronization with the piconet 2. The Bluetooth Address and Bluetooth Clock value of the Master device 4A are sent to a connectable device 4C during a paging procedure.
The paging procedure for forming connections is asymmetrical and requires that one Bluetooth device carries out the page (connection) procedure while the other Bluetooth device is connectable (page scanning). The procedure is targeted so that the page procedure is only responded to by one specified Bluetooth device.
The connectable device (e.g. 4C) uses a special slow frequency hopping physical channel to listen for connection request packets from the paging device (e.g. 4A) which uses a fast frequency hopping channel. This slow frequency hopping physical channel has attributes that are specific to the connectable device 4C, hence only a paging device 4A with knowledge of the connectable device 4C is able to communicate on this channel.
In the paging procedure, the paging device 4A transmits a paging request for a target connectable device 4C that is to be joined to the piconet as a Slave device to the Master paging device. Each paging request is a packet that has as its preamble an Access Code that is dependent upon the Bluetooth Device Address of the target connectable device 4C. The frequency at which the packet is transmitted is determined from a page frequency-hopping sequence and the phase within the sequence. The page frequency-hopping sequence is a sequence of 32 frequencies derived from the Bluetooth Device Address of the target connectable device 4C. The phase within the sequence at the time of transmission is determined from an estimate of the Bluetooth Clock of the target connectable device 4C as emulated in the paging device 4A. As the paging device 4A can only estimate the Bluetooth clock value of the connectable device 4C, the paging device 4A transmits a series of paging requests each at a different frequency taken from a train A of the 16 most probable frequencies within the page frequency-hopping sequence. Each paging request is an ID packet of size 68 bits (68 us duration). Two paging requests, at successive frequencies in the train A, are transmitted in each even numbered slot. Thus a train of 16 paging requests is transmitted over 10 ms. The train is then repeated 128 or 256 times. If no reply is received paging requests are repeatedly transmitted using the remaining train B of 16 frequencies from the page frequency-hopping sequence.
Each connectable Bluetooth device, that is one that is available to join a piconet, periodically enters a page scan state in which it scans for paging requests transmitted for it. During a scan a sliding correlator correlates against the expected Access code and triggers when a threshold is exceeded.
In the page scan state, the Access Code used is derived from the Bluetooth Address of the connectable device.
The Bluetooth Specification requires a page scan to be performed every 1.28 s or 2.56 s. The page scan lasts between 11.25 and 2560 ms. During page scanning, the receiver of the connectable device 4C attempts sequentially to receive at each one of the frequencies of the page frequency-hopping sequence frequency. The phase within the sequence is determined by the Bluetooth Clock of the connectable device 4C. The receiving frequency typically changes every 1.28 s.
The frequency at which a connectable device 4C receives a page request allows the connectable device to roughly synchronize in time and frequency with the paging device. The correlation with the Access code of the paging request provides time synchronization. The connectable device 4C transmits a reply to the paging device 4A a predetermined time after receiving the page request and at a frequency related to the frequency of the received page request. The connectable device's receiver is then activated a predetermined time later to receive an FHS packet from the paging device 4A, which allows the connectable device 4C to join the piconet 2 as a Slave. The FHS packet comprises the Bluetooth Address of the Master device 4A and the Bluetooth Clock value of the Master device 4A.
It is apparent that if the paging device 4A is to page a connectable device 4C, then it typically requires the Bluetooth Device Address of that device and (optionally) the Bluetooth Clock value of that device. The Bluetooth Device Address enables the paging device 4A to send packets with the correct Access Code and to use the correct frequency-hopping sequence. The Bluetooth Clock value enables the paging device 4A to emulate the timing in the target connectable device 4C and accurately estimate the most probably frequency currently being used by the connectable device 4C in page scan mode.
An Inquiry procedure is typically used by a device to obtain the Bluetooth Clock values and Bluetooth Device Addresses of the connectable Bluetooth devices that are within range. It is an asymmetrical procedure that uses a special physical channel. The procedure is not targeted so that the inquiry procedure is responded to by all connectable Bluetooth devices within range.
The connectable device (e.g. 4C) uses a special slow frequency hopping physical channel to listen for inquiry packets from an inquiring device (e.g. 4A) which uses a fast frequency hopping channel to transmit the inquiry packets. This special slow frequency hopping physical channel has independent attributes that are not specific to the inquiring device 4A or the connectable device 4C.
In the inquiry procedure, the inquiring device 4C continually broadcasts an inquiry packet at different hop frequencies. Each inquiry packet has as its preamble an Inquiry Access Code. The frequency at which the packet is transmitted is determined from an inquiry frequency-hopping sequence and the phase within the sequence at the time of transmission. The inquiry frequency-hopping sequence is derived from the Inquiry Access Code. The phase within the sequence at the time of transmission is determined from the Bluetooth Clock of the inquiring device 4A. The inquiry frequency-hopping sequence of 32 frequencies is divided into two trains A & B of 16 frequencies. The inquiring device 4A initially transmits a series of inquiry packets each at a different frequency taken from the train A. Each inquiry packet is an ID packet of size 68 bits (68 μs duration). Two inquiry packets, at successive frequencies in the train A, are transmitted in each even numbered slot. Thus a train of 16 inquiry packets is transmitted over 10 ms. The train is then repeated at least 256 times. Then inquiry packets are repeatedly transmitted using the remaining train B of 16 frequencies from the inquiry frequency-hopping sequence.
Each connectable Bluetooth device that is available to join a piconet 2 periodically enters an inquiry scan state in which it scans for inquiry packets. During a scan a sliding correlator correlates against the expected Access code and triggers when a threshold is exceeded. In the inquiry scan state, the Access Code used is derived from the Inquiry Access Code.
The Bluetooth Specification requires an inquiry scan to be performed every 1.28 s or 2.56 s. The inquiry scan lasts between 11.25 and 2560 ms. During the inquiry scan, the receiver of the Bluetooth device attempts sequentially to receive at each one of the frequencies of the inquiry frequency-hopping sequence. The phase within the sequence is determined by the Bluetooth Clock of the connectable device. The receiving frequency typically changes every 1.28 s.
If a connectable device 4C receives an inquiry packet during the inquiry scan it will respond in an odd numbered time slot, by transmitting a FHS packet which has the Inquiry Access Code as its Access code and has, in its payload, the Bluetooth Device Address and Bluetooth Clock value of the connectable device 4C.
An important consideration for Bluetooth devices is power consumption. Typically, a Bluetooth device reduces power consumption by remaining in a low power consumption idle state from which it awakes periodically to enter the page scan state and/or to enter the inquiry scan state in which power is consumed.
It would be desirable to further reduce power consumption.